﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CasaisEmEdificacao.Gerenciador.banner
{
    public partial class index : System.Web.UI.Page
    {

        public CamadaDados.banner MetBanner = new CamadaDados.banner();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Util.AlertaCliente util = new Util.AlertaCliente();

                if (Request["Msn"] != null)
                {

                    lblMensagem.Text = util.MensagemCliente(Convert.ToInt32(Request["Msn"].ToString()));
                    lblMensagem.Visible = true;
                }


                CarregarBanner();
            }
            else
            {
                lblMensagem.Visible = false;
            }
        }

        protected void CarregarBanner()
        {
            grdBanner.DataSource = MetBanner.ListarBanners();
            grdBanner.DataBind();
        }

        protected void grdBanner_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string acao = e.CommandName.ToString();
            string strCodBanner = e.CommandArgument.ToString();

            switch (acao)
            {
                case "Editar":
                    Response.Redirect("~/Gerenciador/banner/formBanner.aspx?codBanner=" + strCodBanner);
                    break;

                case "Excluir":

                    var objBannerImg = MetBanner.SelecionarBanner(Convert.ToInt32(strCodBanner));

                        string path = Server.MapPath("~/Gerenciador/common/img_banner/");

                        if (File.Exists(path + objBannerImg.DS_IMAGEM))
                        {
                            File.Delete(path + objBannerImg.DS_IMAGEM);
                        }

                    ExcluirBanner(Convert.ToInt32(strCodBanner));
                    break;

                case "Status":
                    MudarStatusBanner(Convert.ToInt32(strCodBanner));
                    break;
            }
        }

        private void ExcluirBanner(int intCodBanner)
        {

            
            var util = new Util.AlertaCliente();

            try
            {
                MetBanner.ExcluirBanner(intCodBanner);
                lblMensagem.Text = util.MensagemCliente(3);
                lblMensagem.Visible = true;
                CarregarBanner();

            }
            catch (Exception)
            {
                lblMensagem.Text = util.MensagemCliente(4);
                lblMensagem.Visible = true;
                throw;
            }


        }

        private void MudarStatusBanner(int intCodBanner)
        {
            var util = new Util.AlertaCliente();

            try
            {
                MetBanner.MudarStatus(intCodBanner);
                lblMensagem.Text = util.MensagemCliente(5);
                lblMensagem.Visible = true;
                CarregarBanner();

            }
            catch (Exception)
            {
                lblMensagem.Text = util.MensagemCliente(4);
                lblMensagem.Visible = true;
                throw;
            }
        }

    }
}